/**
 * Function 实例的 call() 方法会以给定的 this 值和逐个提供的参数调用该函数
 * @param {*} ctx 
 * @param  {...any} args 
 */
function myCall(ctx, ...args) {
    const origionalFunc = this;
    const fnSymbol = Symbol('fn');

    ctx[fnSymbol] = origionalFunc;

    const result = ctx[fnSymbol](...args);

    delete ctx[fnSymbol];
    
    return result;
}